/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package suministros.ejb30.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Diana
 */
@Entity
@Table(name = "detalleTransferencia")
@NamedQueries({
    @NamedQuery(name = "DetalleTransferencia.findAll", query = "SELECT d FROM DetalleTransferencia d"),
    @NamedQuery(name = "DetalleTransferencia.findByIddetalleTransferencia", query = "SELECT d FROM DetalleTransferencia d WHERE d.detalleTransferenciaPK.iddetalleTransferencia = :iddetalleTransferencia"),
    @NamedQuery(name = "DetalleTransferencia.findByIdTransferencia", query = "SELECT d FROM DetalleTransferencia d WHERE d.detalleTransferenciaPK.idTransferencia = :idTransferencia"),
    @NamedQuery(name = "DetalleTransferencia.findByCantidad", query = "SELECT d FROM DetalleTransferencia d WHERE d.cantidad = :cantidad"),
    @NamedQuery(name = "DetalleTransferencia.findByPrecio", query = "SELECT d FROM DetalleTransferencia d WHERE d.precio = :precio"),
    @NamedQuery(name = "DetalleTransferencia.findByFecha", query = "SELECT d FROM DetalleTransferencia d WHERE d.fecha = :fecha"),
    @NamedQuery(name = "DetalleTransferencia.findByIdZona", query = "SELECT d FROM DetalleTransferencia d WHERE d.idZona = :idZona"),
    @NamedQuery(name = "DetalleTransferencia.findByIdLocalidad", query = "SELECT d FROM DetalleTransferencia d WHERE d.idLocalidad = :idLocalidad"),
    @NamedQuery(name = "DetalleTransferencia.findByCcosto", query = "SELECT d FROM DetalleTransferencia d WHERE d.ccosto = :ccosto"),
    @NamedQuery(name = "DetalleTransferencia.findByCtaCon", query = "SELECT d FROM DetalleTransferencia d WHERE d.ctaCon = :ctaCon"),
    @NamedQuery(name = "DetalleTransferencia.findByCodInv", query = "SELECT d FROM DetalleTransferencia d WHERE d.codInv = :codInv"),
    @NamedQuery(name = "DetalleTransferencia.findByCodPresupuestal", query = "SELECT d FROM DetalleTransferencia d WHERE d.codPresupuestal = :codPresupuestal"),
    @NamedQuery(name = "DetalleTransferencia.findByCodUniOrganizativa", query = "SELECT d FROM DetalleTransferencia d WHERE d.codUniOrganizativa = :codUniOrganizativa"),
    @NamedQuery(name = "DetalleTransferencia.findByValor", query = "SELECT d FROM DetalleTransferencia d WHERE d.valor = :valor")})
public class DetalleTransferencia implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected DetalleTransferenciaPK detalleTransferenciaPK;
    @Column(name = "cantidad")
    private BigDecimal cantidad;
    @Column(name = "precio")
    private BigDecimal precio;
    @Column(name = "fecha")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecha;
    @Column(name = "id_zona")
    private String idZona;
    @Column(name = "id_localidad")
    private String idLocalidad;
    @Column(name = "ccosto")
    private String ccosto;
    @Column(name = "cta_con")
    private String ctaCon;
    @Column(name = "cod_inv")
    private String codInv;
    @Column(name = "cod_presupuestal")
    private String codPresupuestal;
    @Column(name = "cod_Uni_Organizativa")
    private String codUniOrganizativa;
    @Column(name = "valor")
    private BigDecimal valor;
    @Column(name = "stockOrigen")
    private BigDecimal stockOrigen;
    @Column(name = "stockDestino")
    private BigDecimal stockDestino;
    @JoinColumn(name = "id_suministro", referencedColumnName = "ID_Suministro")
    @ManyToOne
    private Suministros idSuministro;
    @JoinColumn(name = "idTransferencia", referencedColumnName = "idTransferencia", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Transferencia transferencia;

    public DetalleTransferencia() {
    }

    public DetalleTransferencia(DetalleTransferenciaPK detalleTransferenciaPK) {
        this.detalleTransferenciaPK = detalleTransferenciaPK;
    }

    public DetalleTransferencia(int iddetalleTransferencia, String idTransferencia) {
        this.detalleTransferenciaPK = new DetalleTransferenciaPK(iddetalleTransferencia, idTransferencia);
    }

    public DetalleTransferenciaPK getDetalleTransferenciaPK() {
        return detalleTransferenciaPK;
    }

    public void setDetalleTransferenciaPK(DetalleTransferenciaPK detalleTransferenciaPK) {
        this.detalleTransferenciaPK = detalleTransferenciaPK;
    }

    public BigDecimal getStockDestino() {
        return stockDestino;
    }

    public void setStockDestino(BigDecimal stockDestino) {
        this.stockDestino = stockDestino;
    }

    public BigDecimal getStockOrigen() {
        return stockOrigen;
    }

    public void setStockOrigen(BigDecimal stockOrigen) {
        this.stockOrigen = stockOrigen;
    }

    public BigDecimal getCantidad() {
        return cantidad;
    }

    public void setCantidad(BigDecimal cantidad) {
        this.cantidad = cantidad;
    }

    public BigDecimal getPrecio() {
        return precio;
    }

    public void setPrecio(BigDecimal precio) {
        this.precio = precio;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public String getIdZona() {
        return idZona;
    }

    public void setIdZona(String idZona) {
        this.idZona = idZona;
    }

    public String getIdLocalidad() {
        return idLocalidad;
    }

    public void setIdLocalidad(String idLocalidad) {
        this.idLocalidad = idLocalidad;
    }

    public String getCcosto() {
        return ccosto;
    }

    public void setCcosto(String ccosto) {
        this.ccosto = ccosto;
    }

    public String getCtaCon() {
        return ctaCon;
    }

    public void setCtaCon(String ctaCon) {
        this.ctaCon = ctaCon;
    }

    public String getCodInv() {
        return codInv;
    }

    public void setCodInv(String codInv) {
        this.codInv = codInv;
    }

    public String getCodPresupuestal() {
        return codPresupuestal;
    }

    public void setCodPresupuestal(String codPresupuestal) {
        this.codPresupuestal = codPresupuestal;
    }

    public String getCodUniOrganizativa() {
        return codUniOrganizativa;
    }

    public void setCodUniOrganizativa(String codUniOrganizativa) {
        this.codUniOrganizativa = codUniOrganizativa;
    }

    public BigDecimal getValor() {
        return valor;
    }

    public void setValor(BigDecimal valor) {
        this.valor = valor;
    }

    public Suministros getIdSuministro() {
        return idSuministro;
    }

    public void setIdSuministro(Suministros idSuministro) {
        this.idSuministro = idSuministro;
    }

    public Transferencia getTransferencia() {
        return transferencia;
    }

    public void setTransferencia(Transferencia transferencia) {
        this.transferencia = transferencia;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (detalleTransferenciaPK != null ? detalleTransferenciaPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {

        if (!(object instanceof DetalleTransferencia)) {
            return false;
        }
        DetalleTransferencia other = (DetalleTransferencia) object;
        if ((this.detalleTransferenciaPK == null && other.detalleTransferenciaPK != null) || (this.detalleTransferenciaPK != null && !this.detalleTransferenciaPK.equals(other.detalleTransferenciaPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "suministros.ejb30.entity.DetalleTransferencia[detalleTransferenciaPK=" + detalleTransferenciaPK + "]";
    }

}
